package com.yilin.tms.truck.mapper;

import com.yilin.tms.core.entity.data.statistics.StatisticsTrends;
import com.yilin.tms.core.entity.data.statistics.truck.VehicleStatistics;
import com.yilin.tms.core.entity.data.statistics.truck.VehicleStatusCake;
import com.yilin.tms.core.entity.data.statistics.truck.VehicleWeightCake;
import com.yilin.tms.core.entity.user.account.Account;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public interface TruckStatisticsMapper {
    /**
     * 统计不同状态的车辆
     */
    Map<String, Object> getVehicleByTruckStatus();

    /**
     * 车辆总计、年新增、月新增、日新增计数
     */
    VehicleStatistics getVehicleCount(@Param("loginUser") Account loginUser);

    /**
     * 车辆4.5和4.5以下对比饼图
     */
    VehicleWeightCake getVehicleWeightCake(@Param("loginUser") Account loginUser);

    /**
     * 车辆状态分布饼图
     */
    VehicleStatusCake getVehicleStatusCake(@Param("loginUser") Account loginUser);

    /**
     * 新增车辆趋势折线图
     */
    List<StatisticsTrends> getVehicleAddTrends(@Param("loginUser") Account loginUser);
}
